#include "./TLSF/tlsf.h"
#include "./TLSF/tlsf_porting.h"

/********************全局变量定义********************/

tlsf_t pool_manager; /*定义tlsf内存控制器*/

/********************静态变量定义********************/

static char memory_pool[MEM_POOL_SIZE] __attribute__((aligned(4))); /*定义内存池*/

/********************全局函数定义********************/

/**
 * @brief 内存池初始化函数
 * @param
 * @return
 */
void memory_pool_init(void)
{
	pool_manager = tlsf_create_with_pool(memory_pool, sizeof(memory_pool));
}

/**
 * @brief 内存申请函数
 * @param size 申请的内存大小
 * @return 内存块指针
 */
void* pool_malloc(size_t size)
{
	return tlsf_malloc(pool_manager, size);
} 

/**
 * @brief	内存释放函数
 * @param	ptr 要释放的内存块的指针
 */
void pool_free(void* ptr)
{
	tlsf_free(pool_manager, ptr);
}
